<!DOCTYPE html>
<meta charset="utf-8">
<title>Declarative Shadow DOM</title>
<link rel="author" href="mailto:avandolder@mozilla.com">
<link rel="help" href="https://html.spec.whatwg.org/#parsing-main-inhead:available-to-element-internals">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<custom-element>
    <template shadowrootmode="open">
    </template>
</custom-element>

<script>
    let elementInternals;
    customElements.define("custom-element", class extends HTMLElement {
        constructor() {
            super();
            elementInternals = this.attachInternals();
        }
    });

    window.onload = () => {
        test(() => {
            assert_true(!!elementInternals);
            assert_true(!!elementInternals.shadowRoot);
            assert_equals(elementInternals.shadowRoot, document.querySelector("custom-element").shadowRoot);
        }, "Declarative Shadow DOM: shadow root should be available to element internals");
    };
</script>
